<?php
/**
 * Administra horarios de terapeutas, por fecha
 */
include_once '../includes/config.php';
include_once '../includes/parcial.php';
$titulo = 'Horarios Terapeutas';
$terapeutaServicios = new TerapeutaServicios();
//$terapeutas = $terapeutaServicios->listar();
$terapeutaServicios = new TerapeutaServicios();
$terapeutas = $terapeutaServicios->listarKeyValues();
?>
<link rel="stylesheet" href="estilos/soloMes.css" type="text/css"/>
<script type="text/javascript">
  $(function(){
    $("#guardar").hide();
    $('.fecha').datepicker( {
      dateFormat: 'm-yy',
      changeMonth: true,
      changeYear: true,
      showButtonPanel: true,
      closeText: "Cerrar",
      onClose: function(dateText, inst) { 
        var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
        var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
        $(this).datepicker('disable');
        $(this).datepicker('setDate', new Date(year, month, 1)); 
        $(this).datepicker('enable');
        if ($("#terapeuta").val()!= ""){
          $("#horarios").load("buscarHorariosTerapeutas.php", {terapeuta: $("#terapeuta").val(), fecha: $("#fecha").val() });
          $("#guardar").show();
        }
      }
    });
    $(".fecha").datepicker('setDate', new Date());
    $("#terapeuta").change(function(){
      if ($(this).val() != "") {
        $("#horarios").load("buscarHorariosTerapeutas.php", {terapeuta: $("#terapeuta").val(), fecha: $("#fecha").val() });
        $("#guardar").show();
      } else {
        $("#guardar").hide();
        $("#horarios").html("");
      }
    });
    $("#guardar").click(function(event){
      event.preventDefault(); 
      $.blockUI();
      $.ajax({
        type: "post",
        data: $("#formHorarios").serialize(),
        dataType: "json",
        url: "modificarHorarios.php",
        success: function(res){
          if (res.tieneReservas == 0) {
            $.unblockUI();
            $.growlUI('Horarios modificados..'); 
          } else {
            $.unblockUI();
            mostrarFechasConReservas(res.reservas);
            //$.growlUI('Error al modificar horarios'); 
          }
        },
        error: function(){
          $.unblockUI();
          $.growlUI('Error al modificar horarios'); 
        }, 
        complete: function(){
          $("#horarios").html("");
          $("#guardar").hide();
          $("#terapeuta").val("");
        }
      });
    });
  });
  function mostrarFechasConReservas(dias)
  {
    var tabla = document.createElement("table");
    tabla.id = "tablaReservas";    
    var caption = tabla.createCaption();
    caption.textContent = "Algunos horarios no pudieron modificarse";
    var head = tabla.createTHead();
    var thead = head.insertRow();
    var tcol2 = thead.insertCell();
    var tcol1 = thead.insertCell();
    tcol2.textContent = "Horas en las que el terapeuta tiene reservas";
    tcol1.textContent = "Fecha";
    var tbody = tabla.createTBody();
    head
    for (var dia in dias) 
    {
      if (dias.hasOwnProperty(dia)) 
      {
        if (dias[dia])
        {
          var fila = tbody.insertRow();
          var col2 = fila.insertCell();
          var col1 = fila.insertCell();
          col1.textContent = dia;        
          var horas = dias[dia];
          var horasStr = "";
          for (var hora in horas) 
          {
            if (horas.hasOwnProperty(hora)) 
            {
              horasStr += " " + hora + ",";
            }
          }
          col2.textContent = horasStr.replace(/,+$/, "");
        }
      }
    }
    var filas = tabla.rows.length;
    $("#tope").html("");
    $("#tope").height((filas*23) + 50 );
    $("#tope").append("<div id='contenedorTablaReservas'/>");
    $("#contenedorTablaReservas").append(tabla);
    $("#tope").slideDown(0);
    
  }
</script>
<div class="titulo" id="administradorHorarioTitulo">
  <span><?= $titulo ?></span>
</div>
<div class="modulo">
  <?= Helper::entradaTextoHorizontal("Fecha", "150", "", "fecha", "fecha") ?>
  <?= Helper::selectHorizontal("Terapeuta", $terapeutas, "terapeuta", "terapeuta", "150") ?>
  <div class="modulo"><?= Helper::botonJquery("guardar", "guardar", "Guardar") ?></div>
</div>
<div id="horarios"></div>